/*
 * @Description:
 * @Author: huiLong.lan
 * @Date: 2024-10-21 17:46:56
 * @LastEditors: huiLong.lan
 * @LastEditTime: 2024-10-21 17:47:01
 */
const express = require('express')

const router = express()
// 导入验证数据的中间件
const expressJoi = require('@escook/express-joi')
// 导入文章的验证模块
const { add_article_schema } = require('../scheme/addArticle')

// 导入解析 formdate 格式表单数据的包
const multer = require('multer')
const path = require('path')

// 创建 multer 的实例对象，通过 dest 属性指定文件的存放路径
const upload = multer({ dest: path.join(__dirname, '../uploads') })
// 路由处理函数模块
const article_handler = require('../router_handel/addArticle')
// 发布新文章的路由
// upload.single() 是一个局部生效的中间件，用来解析 FormData 格式的表单数据
// 将文件类型的数据，解析并挂载到 req.file 属性中
// 将文本类型的数据，解析并挂载到 req.body 属性中
router.post(
  '/add',
  upload.single('cover_img'),
  expressJoi(add_article_schema),
  article_handler.addArticle
)
module.exports = router
